﻿
#ifndef IVertexType_h
#define IVertexType_h

// CSharp includes.
#include <Typedef.h>
#include <Defines.h>
#include <CSharpPropertyMethods.h>
#include <CSharpGarbagePointer.h>

//#include "VertexDeclaration.h"

namespace Riccsson
{
	namespace Xna
	{
		namespace Framework
		{
			namespace Graphics
			{
				// Forward declerations.
				class VertexDeclaration;

				interface IVertexType
				{
					PROP3GET(IVertexType, GC_PTR<VertexDeclaration>, vertexDeclaration)

					public: virtual PROP3_GET(GC_PTR<VertexDeclaration>, vertexDeclaration) = 0;

					COPY_CONSTRUCTOR(IVertexType)
					{
						PROP3GET_INIT_COPY(IVertexType, GC_PTR<VertexDeclaration>, vertexDeclaration);
					}

					public: IVertexType()
						: PROP3GET_INIT(IVertexType, vertexDeclaration)
					{
					}
				};
			}
		}
	}
}

#endif